<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="ltr">
	<head>
		<title>General Concept</title>
		<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
		<xml></xml>
		<link rel="stylesheet" type="text/css" href="MSDN.css">
	</head>
	<body id="bodyID" class="dtBODY">
		<div id="nsbanner">
			<div id="bannerrow1">
				<table class="bannerparthead" cellspacing="0">
					<tbody>
						<tr id="hdr">
							<td class="runninghead">
								<p align="left">CS-Script 3.27.0</p>
							</td>
							<td class="product">
							</td>
						</tr>
					</tbody>
				</table>
			</div>
			<div id="TitleRow">
				<h1 class="dtH1" align="left">General concept</h1>
			</div>
		</div>
		<div id="nstext">
			<p>
				Microsoft did not provide a C# engine for Windows Script Host (WSH). CS-Script 
				is an attempt to fill this gap. The core component of the CS-Script is a script 
				engine that utilises the power and flexibility of the Microsoft .NET 
				Framework.&nbsp;
			</p>
			<p>
			</p>
			<p>
				CS-Script, by being a scripting framework, provides a lot of development 
				opportunities when usage of traditional (non-scripting) programming techniques 
				requires significant development effort.
			</p>
			<h4>
				<br>
				Scripting can be very beneficial when:&nbsp;
			</h4>
			<ul>
				<li>
					<p>Development environment is changeable.&nbsp;<br>
						<i>Frequent code changes are expected.&nbsp;</i></p>
				<li>
					<p>Application logic is simple.&nbsp;<br>
						<i>Application is needed for a very specific isolated task.&nbsp;</i></p>
				<li>
					<p>Intellectual property protection is not an issue.&nbsp;<br>
						<i>Source code is open.&nbsp;</i></p>
				<li>
					<p>Maintenance and deployment requirements are very strict.&nbsp;<br>
						<i>SW solutions ideally reside in a single file and is to be deployed by simple 
							copying of a minimal number of files.&nbsp;</i></p>
				<li>
					<p>Development speed is expected to be faster than usual.&nbsp;<br>
						<i>Code is composed of relatively heavy chunks.</i></p>
				</li>
			</ul>
			<h4>
				<br>
				These are some of the advantages associated with any C# based scripting 
				solution and particularly with CS-Script:
			</h4>
			<ul>
				<li>
					<p>Simple deployment approach:&nbsp;<i><br>
							just bring both script and engine file (about 50 K size) on the system that has 
							.NET runtime installed and script can be run.&nbsp;</i></p>
				<li>
					<p>Portability:&nbsp;<i><br>
							Scripts can be run on any system, which has CLR installed.&nbsp;</i></p>
				<li>
					<p>Base language is a truly OO language:&nbsp;<i><br>
							full featured C# is used. It is called it "C# Script" but actually it is a C#. 
							"C# Script" better represents execution nature of the system.&nbsp;</i></p>
				<li>
					<p>All .NET functionality is available<i>&nbsp;<br>
							FCL, COM Interop, Remoting</i>.&nbsp;</p>
				<li>
					<p>Easily available Debuggers and rich IDEs&nbsp;<i><br>
							MS .NET Studio or third-party ones.</i>&nbsp;</p>
				<li>
					<p>Execution model within the script is the same as for any .NET application:&nbsp;<br>
						<i>static void Main().&nbsp;</i></p>
				<li>
					<p>Any script can be easily converted into application and vice versa.</p>
				<li>
					<p>Optimised interpretation:&nbsp;<i><br>
							interpretation of any statement in the script is done only once even though the 
							statement is frequently used throughout the code.</i>&nbsp;</p>
				<li>
					<p>Script language is type safe:&nbsp;<i><br>
							strong typing is a luxury not available in most of the scripting languages. 
							Dynamic typing is also available: use Object as a default type and do 
							boxing/unboxing all the time.&nbsp;</i></p>
				<li>
					<p>All SW development tasks can be done in the same language.&nbsp;</p>
				<li>
					<p>GUI development for script applications becomes easy.&nbsp;</p>
				<li>
					<p>Extensibility:&nbsp;<br>
						<i>scripting system can be extended by using the assemblies written in any .NET 
							languages or COM components&nbsp;</i></p>
				</li>
			</ul>
			<br>
			&nbsp;
<OBJECT style="DISPLAY: none" type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"
				viewastext="true">
				<PARAM NAME="Keyword" VALUE="Overview">
			</OBJECT>		
		</div>
	</body>
</html>

